Ruby on rails 将参数从控制器发送到模型rails

Ruby on rails 将参数从控制器发送到模型rails,ruby-on-rails,api,model,controller,Ruby On Rails,Api,Model,Controller,我正在开发Meetup Api。 我想将一些会议从API保存到我的数据库中。 保存会议取决于传递到控制器视图中的参数: <%= link_to 'See conferences', conferences_path(:title => "ParisRb")%> | conferences\u controller.rb class ApiMeetup BASE_URI = "https://api.meetup.com" def events(urlname)

我正在开发Meetup Api。 我想将一些会议从API保存到我的数据库中。 保存会议取决于传递到控制器视图中的参数:

  <%= link_to 'See conferences', conferences_path(:title => "ParisRb")%> |
conferences\u controller.rb

class ApiMeetup
  BASE_URI = "https://api.meetup.com"

  def events(urlname)
    HTTParty.get(BASE_URI + "/#{urlname}/events")
  end
end
def index
    #call to the API
    response = ApiMeetup.new.events(params[:title])
    api_data = JSON.parse(response.body)

    filtered_conferences = Conference.conferences_filter(api_data)
    conferences = Conference.save_conferences_from_api(filtered_conferences)

    @conferences = conferences.current_conferences
  end  
#Keep only requested conferences
  def self.conferences_filter(data)
    requested_conferences = []
    data.each do |event|
      if event["name"].include?('ParisRb') #This should receive params[:title] instead of 'ParisRb'
        requested_conferences << event
      end
    end
    requested_conferences
  end

  #Save requested conferences from the Meetup API
  def self.save_conferences_from_api(conferences)
    # data = data_from_api
    conferences.each do |line|
      conference = self.new
      conference.title = line['name']
      conference.date = format_date(line['time'])
      conference.url = line['link']
      if conference.valid?
        conference.save
      end
    end
   self.all
  end 
conference.rb

class ApiMeetup
  BASE_URI = "https://api.meetup.com"

  def events(urlname)
    HTTParty.get(BASE_URI + "/#{urlname}/events")
  end
end
def index
    #call to the API
    response = ApiMeetup.new.events(params[:title])
    api_data = JSON.parse(response.body)

    filtered_conferences = Conference.conferences_filter(api_data)
    conferences = Conference.save_conferences_from_api(filtered_conferences)

    @conferences = conferences.current_conferences
  end  
#Keep only requested conferences
  def self.conferences_filter(data)
    requested_conferences = []
    data.each do |event|
      if event["name"].include?('ParisRb') #This should receive params[:title] instead of 'ParisRb'
        requested_conferences << event
      end
    end
    requested_conferences
  end

  #Save requested conferences from the Meetup API
  def self.save_conferences_from_api(conferences)
    # data = data_from_api
    conferences.each do |line|
      conference = self.new
      conference.title = line['name']
      conference.date = format_date(line['time'])
      conference.url = line['link']
      if conference.valid?
        conference.save
      end
    end
   self.all
  end 
#仅保留请求的会议
def自检过滤器(数据)
请求的_会议=[]
数据。每个do事件|
如果事件[“name”].include('ParisRb')#这应该接收参数[:title],而不是'ParisRb'

这其实很明显。 我只需要将参数传递给我的方法:

filtered_conferences=Conference.conferences_filter(api_数据,参数[:title])

#仅保留请求的会议
def self.u过滤器(数据、标题)
请求的_会议=[]
数据。每个do事件|
如果事件[“名称”]。包括?(标题)

我有点困惑。由于您已经查询了
HTTParty.get(BASE_URI+“/{urlname}/events”)
,因此返回的事件仅限于
urlname
,即
ParisRb
,它不会包括任何其他meetup组的事件。因此,无需在模型中再次检查。除非你想检查事件的名称,这就是你在模型方法中所做的。哦,是的,你完全正确!我的代码中有一个无用的步骤