小编loo*_*obs的帖子

Rails搜索多个模型

我有一个问题.我有一个show视图,它充当仪表板并从其他模型中引入记录,然后是与之关联的模型.我有一个简单的搜索表单,可以正常搜索一个模型,但我不知道如何通过它的相关模型查看它.我不认为全文搜索是必要的,我不确定它是如何工作的,因为我不想要在整个网站上搜索的东西.

谢谢

公司/显示/ 1

<div id="form">
  <div class="search">
   <% form_tag battalion_company_path, :method => :get do %>
   <p>
   <%= text_field_tag :search, params[:search] %>

   <%= submit_tag "Search", :name => nil %>

   </p>
 <% end %>
</div>
</div>

<div id="bc_box">
<% @soldiers.each do |soldier| %>
<div id="bc_focus">
   <div class="right">
    <%= link_to image_tag("../images/buttons/info.png", :border=>0),  battalion_company_soldier_path(@battalion, @company,soldier) %>
    <%= link_to image_tag("../images/buttons/edit.png", :border=>0), edit_battalion_company_soldier_path(@battalion, @company,soldier) %>
    </div>
   <%=h soldier.rank %> <%=h soldier.lastname %><br />
   Cell: <%=h soldier.cellphone %><br />
   <% soldier.primaries.each do |primary| %>
   <p>
   <%=h …
Run Code Online (Sandbox Code Playgroud)

forms search ruby-on-rails

9
推荐指数
1
解决办法
3417
查看次数

为新用户设计Omniauth"encrypted_pa​​ssword可能不为NULL"

我正在使用Devise与Omniauth让用户通过Facebook登录我的应用程序.我使用Railscast教程来启动并运行它.

如果用户已经是我的网站的成员通过Facebook进行身份验证工作正常.在使用facebook验证新用户时会出现此问题.当它为我的用户模型创建一个新用户时,我得到"users.encrypted_pa​​ssword可能不是NULL"错误.我无法弄清楚如何从Facebook信息将密码传递给用户模型.

这就是我所拥有的:

authentations_controller.rb

class AuthenticationsController < ApplicationController
 def index
  @authentications = current_user.authentications if current_user
 end

def create
  omniauth = request.env["omniauth.auth"]
  authentication = Authentication.find_by_provider_and_uid(omniauth['provider'],   omniauth['uid'])
 if authentication
   flash[:notice] = "Signed in successfully."
   sign_in_and_redirect(:user, authentication.user)
 elsif current_user
   current_user.authentications.create!(:provider => omniauth['provider'], :uid => omniauth['uid'])
   flash[:notice] = "Authentication successful."
   redirect_to authentications_url
 else
   user = User.new
   user.apply_omniauth(omniauth)
   if user.save
     flash[:notice] = "Signed in successfully."
     sign_in_and_redirect(:user, user)
   else
     session[:omniauth] = omniauth.except('extra')
     redirect_to new_user_registration_url
   end
  end
end
Run Code Online (Sandbox Code Playgroud)

user.rb

 def apply_omniauth(omniauth)
  self.email = omniauth['user_info']['email'] if email.blank?
  authentications.build(:provider …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise omniauth

9
推荐指数
1
解决办法
6897
查看次数

rails form_tag url path

这似乎应该是如此简单,但它一直在给我带来问题.

我有一个从模型中提取的select_tag.我想要的是让一个人从下拉菜单中选择他们的位置,按提交并将其带到那个地方页面.

这就是我所拥有的

<% form_tag installation_path do %>
<%= select_tag :id, options_from_collection_for_select(Installation.find(:all), :id, :name) %>
<div id="button">
  <p>
    <%= submit_tag "Go", :name => nil %>
  </p>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是它当然想要一个,:id但它不会:id从下面的下拉菜单中拉出来.

我做错了什么,以及"正确"的方式做任何其他建议.

谢谢

forms ruby-on-rails

7
推荐指数
1
解决办法
2万
查看次数

Rails日期与Date.today相比

我在Date格式中有一个birth_date变量.我想将它与Date.today进行比较,如下所示.问题是它回来是假的,因为它想要比较年份.这是一个生日,所以我不关心今年只是想看看birth_date(月和日)是否等于Date.today.day.month.

有任何想法吗?

bdays = Soldier.find(:all, :conditions => ["birth_date LIKE ?", Date.today] )
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails date conditional-statements

4
推荐指数
1
解决办法
2万
查看次数

将Youtube视频嵌入到Rails应用程序中

当我放

<iframe width="560" height="349" src="<%= @video.link %>"></iframe>
Run Code Online (Sandbox Code Playgroud)

一切都很好.但实际视频不会播放..我做错了什么?

<iframe width="560" height="349" src="http://youtu.be/PF9-lstnLvo">
  <html lang="en" dir="ltr">
 </iframe>
Run Code Online (Sandbox Code Playgroud)

救命!!

youtube ruby-on-rails

1
推荐指数
1
解决办法
5718
查看次数

将局部变量传递给一部分的hidden_​​field

我正在尝试将这些局部参数传递给部分形式,并将它们传递给hidden_​​fields。我无法将值直接放入表单,因为它们会发生变化。任何帮助将不胜感激。

我有:

    <% form_for :user, @user, :url => { :action => "create", :controller => "users"} do |f| %>
      <%= f.error_messages %>
      <%= render :partial => "form", :locals => { :f => f, :position => 'Company Commander', :battalion_id => @battalion.id, :company_id => c.id} %>
      <%= f.submit "Register" %>
    <% end %>
Run Code Online (Sandbox Code Playgroud)

_form.html

<%= f.hidden_field (:position, :value => :position) %>
<%= f.hidden_field (:battalion_id, :value => @battalion.id) %>
<%= f.hidden_field (:battalion_id, :value => @company.id) %>

<%= f.hidden_field (:roles, :value => "Company") %>

<%= …
Run Code Online (Sandbox Code Playgroud)

parameters ruby-on-rails partial-views

0
推荐指数
1
解决办法
3573
查看次数