Note that there are some explanatory texts on larger screens.

plurals
  1. POrails validate data and get data using strong parameter
    primarykey
    data
    text
    <p>I have 3 tables</p> <pre><code>User(id,email) Org(id,name) Role(id,user_id,org_id,role) </code></pre> <p>Ajax request send parameters</p> <pre><code>org[name] test org[user][email] test@test.com </code></pre> <p>In my controller</p> <pre><code>def create client_org = Org.new(client_org_params) respond_to do |format| @client_org.valid? if !@client_org.errors.blank? format.json { render json: @client_org.errors, status: :unprocessable_entity } elsif Org.saveClientOrg(@client_org) end end private def client_org_params params.require(:client_org).permit(:name,user_attributes: [:email]) end </code></pre> <p>In Org.model</p> <pre><code>def self.saveClientOrg(orgData) org=ClientOrg.new(orgData.name)//--&gt;okay I got name: test orgData.user.email //error? undefined method `user' for #&lt;Org&gt; end </code></pre> <p>Seem like this line code: orgData.user.email incorrect.</p> <p>when I leave 2 input field blank and submit form ==> form validate says only name is blank and ignore email.Although in model user.rb I set validates :email, presence: true Anyone help me? Thanks in advance</p> <p><strong>EDIT</strong></p> <pre><code>User.rb has_many :roles has_many :orgs, through: :roles default_scope -&gt; { order('email ASC') } validates_format_of :email, :with =&gt; Devise.email_regexp validates :email, presence: true Org.rb has_many :roles has_many :users, through: :roles validates :name, presence: true , uniqueness: { case_sensitive: false } Role.rb belongs_to :user belongs_to :org </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload